package com.sg.dto.biz.app.common;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;


/**
 * @desc EvalThemeDto
 * @使用场景
 */
@Data
public class EvalThemeDto extends BaseDto implements Serializable {

    /**
     * 评价主题名称:
     */
    @ApiModelProperty("评价主题名称")
    private String evaluationSubjectName;

    /**
     * 评价主题标识:
     */
    @ApiModelProperty("评价主题标识")
    private String evaluationSubjectCode;
    /**
     * 评价主题ID:
     */
    @ApiModelProperty("评价主题ID")
    private String evaluationSubjectId;
    /**
     * 评价主题类型编码 
     */
    @ApiModelProperty("评价主题类型编码 ")
    private String evaluationSubjectTypeCode;

    /**
     * 冗余配置方案标识
     */
    @ApiModelProperty("冗余配置方案标识")
    private String confSchemeCode;

    /**
     * 主体生命周期
     */
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;

    /**
     * 操作时间
     */
    @ApiModelProperty("操作时间")
    private Date operateTime;

    /**
     * 操作人就职记录ID
     */
    @ApiModelProperty("操作人就职记录ID")
    private String operationInductionId;
    /**
     * 配置方案ID
     */
    @ApiModelProperty("配置方案ID ")
    private String confSchemeId;

    /**
     * 答案结果值
     */
    @ApiModelProperty("评价模板配置方案标识")
    private String endValue;

    /**
     * 标题文案
     */
    @ApiModelProperty("标题文案")
    private String headCopywriter;

    /**
     * 按钮提示文案
     */
    @ApiModelProperty("按钮提示文案")
    private String buttonCopywriter;

    /**
     * 模板方案简述
     */
    @ApiModelProperty("模板方案简述")
    private String evaThemeSketch;

    /**
     * 媒体内容地址
     */
    @ApiModelProperty("媒体内容地址")
    private String mediaContentAddress;
    /**
     * 新增评价模板
     */
    @ApiModelProperty("新增评价模板")
    private String addEvaTempButtom;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        if (!super.equals(o)) return false;
        EvalThemeDto that = (EvalThemeDto) o;
        return evaluationSubjectName == that.evaluationSubjectName && evaluationSubjectCode == that.evaluationSubjectCode && evaluationSubjectId == that.evaluationSubjectId && evaluationSubjectTypeCode == that.evaluationSubjectTypeCode && confSchemeCode == that.confSchemeCode && subjectLifeCycle == that.subjectLifeCycle && operateTime == that.operateTime && operationInductionId == that.operationInductionId && confSchemeId == that.confSchemeId && endValue == that.endValue && headCopywriter == that.headCopywriter && buttonCopywriter == that.buttonCopywriter && evaThemeSketch == that.evaThemeSketch && mediaContentAddress == that.mediaContentAddress && addEvaTempButtom == that.addEvaTempButtom;
    }

    @Override
    public int hashCode() {
        return Objects.hash(super.hashCode(), evaluationSubjectName, evaluationSubjectCode, evaluationSubjectId, evaluationSubjectTypeCode, confSchemeCode, subjectLifeCycle, operateTime, operationInductionId, confSchemeId, endValue, headCopywriter, buttonCopywriter, evaThemeSketch, mediaContentAddress, addEvaTempButtom);
    }

}
